FlexGrid for UWP/WinRT
データのグループ化
このトピックでは、FlexGridSamples プロジェクトの FlexGridDemo ページにあるコードを使用します。このプロジェクトには、Customer.cs コードファイルも入っています。このプロジェクトは、コンピュータの C:\Users\YourUserName\Documents\ComponentOne Samples\WinRT XAML Phone\C1.Xaml.FlexGrid にインストールされています。

C1FlexGrid コントロールでは、C1CollectionView クラスを通してデータのグループ化が行われます。たとえば、顧客リストを含むグリッドでは、C1CollectionView に少しのコードを追加して、顧客を国別にグループ化できます。

C#
コードのコピー
// 顧客の監視可能なリストを作成します

var list = new System.Collections.ObjectModel.ObservableCollection<Customer>();
for (int i = 0; i < 100; i++)
 list.Add(new Customer());

// リストから C1CollectionView を作成します
// (ソート、フィルタ処理、およびグループ化をサポートします)
_view = new C1.Xaml.C1CollectionView(list);

// 顧客を国別にグループ化します
_view.GroupDescriptions.Add(new C1.Xaml.PropertyGroupDescription("Country"));

プロジェクトを実行すると、次の図のような FlexGrid が表示されます。

データ項目が国別にグループ化されています。ユーザーは国名の隣にあるアイコンをクリックまたはタップして、国カテゴリを折りたたんだり、展開することができます。また、列名をクリックまたはタップして、データのソートを制御することもできます。

グループ化を変更する場合は、次のコードで列名を変更するだけです。

C#
コードのコピー
_view.GroupDescriptions.Add(new
    C1.Xaml.PropertyGroupDescription("Country"));

顧客の姓でソートする場合は、"Country" を "Last" に変更するだけです。

C#
コードのコピー
// 顧客の監視可能なリストを作成します

var list = new System.Collections.ObjectModel.ObservableCollection<
Customer>();
for (int i = 0; i < 100; i++)
list.Add(new Customer());

// リストから C1CollectionView を作成します
// (ソート、フィルタ処理、およびグループ化をサポートします)
_view = new C1.Xaml.C1CollectionView(list);

// 顧客を国別にグループ化します
_view.GroupDescriptions.Add(new C1.Xaml.PropertyGroupDescription("Last"));

グループ化を変更すると、FlexGrid コントロールは次の図のようになります。

 

 


Copyright © GrapeCity inc. All rights reserved.